research

Description Dropout으로 local model fine-tuning

Description Dropout으로 local model fine-tuning

핵심 아이디어

현재 연구들은 광범위한 foundation model을 만드는 데 집중하지만, 특정 domain에서만 작동하는 작은 모델을 만들 때는 다른 접근이 유효하다.

도구(tool)를 명시적으로 정의한 뒤, self-supervised 방식으로 description을 점진적으로 제거하면서 학습시키면 → 작은 local model도 특정 업무에서 충분한 성능을 낼 수 있다.

Description Dropout

기존 dropout이 특정 뉴런에 의존하지 않도록 강제하듯, description dropout은 모델이 tool description 텍스트에 의존하지 않도록 강제한다.

모델은 결국 함수 이름과 context의 의미론적 관계를 학습하게 된다.

[easy]   도구 이름 + 상세 description + 예시
[medium] 도구 이름 + 짧은 description
[hard]   도구 이름만
[harder] 도구 이름도 없이 context만

이는 curriculum learning과 결합될 때 더 효과적이다.

Domain-specific overfitting이 오히려 안전한 이유

foundation model → general해야 함 → overfitting 위험 특정 domain 전용 모델 → 해당 domain에서의 overfitting = reliability 상승

Obsidian vault 관리 + 수업 정보 수집 두 가지만 잘하면 되는 경우, 그 domain에 과적합된 모델이 오히려 더 예측 가능하고 안전하다.

실제 구현 시 고려사항

함수 이름 자체가 의미를 담고 있어야 description dropout이 의미있다.

  • 좋은 예: create_note, append_to_vault, search_by_tag
  • 나쁜 예: fn_007, handler_3

semantic이 이름에 녹아있을수록 description 없이도 학습이 된다.

학습 순서

  1. tool calling 데이터를 직접 생성 (명시적 description 포함)
  2. description dropout curriculum으로 supervised fine-tune
  3. reward 설계 후 GRPO 등으로 RL fine-tune
  4. narrow domain에서 평가

연결 아이디어

  • 기존 애플리케이션을 environment로 wrapping → chat UI로 converting
  • CLI 형태 platform (pi 방식) 에서의 agent 운용
  • Obsidian RPC 서버와 결합한 실제 데이터 수집

관련 노트